DataHubのCo-authorが創業したデータカタログ「Metaphor」のデモサイトを触ってみた
さがらです。
LinkedInでDataHubを開発していたエンジニアが創業したデータカタログ「Metaphor」のデモサイトが公開されていたので、試してみました。
その内容を本記事でまとめてみます。
Metaphorとは
Metaphorですが、メタデータ管理をするためのデータカタログのサービスに分類されます。
特筆すべきは、MetaphorのCo-FounderであるPardhu氏、Mars氏、Seyi氏の3名はLinkedInでDataHubの開発に関わっていたエンジニアであるということです。
DataHubはOSSのデータカタログとして認知されていますが、元々はLinkedInの社内向けメタデータ管理のプラットフォームとして開発されたサービスです。社内向けに開発をした後、DataHubは2020年2月にOSSとして公開がされていますね。(DataHubのOSS公開時の詳細はこちらの記事をご覧ください。)
そして、Pardhu氏、Mars氏、Seyi氏がLinkedInでのDataHubの経験を通し、「すべての企業が、効果的なメタデータ管理を通じて、データの持つ可能性を実現する(we want every company to realize the promise of data unlocked through effective metadata management)」というミッションを掲げて創業されたのがMetaphorです。
Metaphor創業時の背景についてより詳細を知りたい場合には、Metaphor Data社のCEOであるPardhu氏のこちらの記事をご覧ください。
ちなみに、MetaphorはDataHubのSaaS版ではありません。
DataHubのSaaS版は、Acryl Dataという企業から提供されています。Acryl DataのCo-Founder兼CEOのShirshanka氏も、LinkedInでDataHubを開発していたエンジニアです。
デモサイトの入り方
まず、Metaphorの公式サイトに移動します。
右上のTry Metaphor
を押します。
Sign in with Google
を押して、Googleアカウントを使ってサインインします。
これで、Metaphorのデモサイトに入ることが出来ました!
デモサイトに登録されているAsset
こちらはデモサイトですので、残念ながらユーザー自身が管理するDWHやBIツールと紐づけることは出来ません。
そのため、このデモサイトにはどんなAsset(DWHやBIツールなどMetaphorで管理するデータ資産)が登録されているか見てみます。
左上のAsset Hierarchy
を押すと、登録されているAssetの一覧が表示されます。
全てのAssetを展開すると、このように表示されます。Snowflake、dbt、LookerがAssetとして登録されていますね。
参考:Metaphorでのコネクタ設定
今回はデモサイトなので自身のデータを設定できないですが、実際に自身のデータを繋げる場合は、基本的にPythonのコネクタを用いるようです。
Metaphorでの検索
次に、データカタログの軸となる機能、検索機能について見ていきます。
検索BOXを用いた検索
Metaphorは画面上部に検索BOXがあるため、ここで任意のワードで検索をかけることが出来ます。
検索BOXを押すと、Assetの種類で絞り込んだり、最近検索したキーワード、最近表示したAssetも表示されます。
試しに「customer」で検索すると、cleaned_bike_rides
というテーブルのdescriptionに「custom」というワードがあったのでヒットしました。検索したワードと部分一致する場合でも検索結果として出てくるようです。
また、検索BOXのすぐ下にDatasets、Dashboards、Documents、Knowledge Cardsといった形で分類がされていますが、これらの分類を押すことで、検索結果に表示する分類を切り換えることが出来ます。(下図はDocumentsを押した場合の検索結果を表しています。)
検索結果に対して更に絞り込みをしたい場合には、画面左側から各項目で絞り込むことも可能です。
Asset Hierarchyからの検索
ちなみに先程説明しましたAsset一覧を表示するAsset Hierarchyからも、データベースやスキーマなどの上位のAssetの横にあるShow all in search results
を押すことで、選んだAsset全体で検索をかけた結果が表示されます。
Slackからの検索
今回はデモサイトのため出来ていないのですが、Slackからの検索も出来るようです。
サンプルの動画がありますので、こちらをご覧ください。(4:33~4:48あたり)
テーブルの詳細画面
次は、検索した結果から各テーブルの詳細画面がどのようになっているかを見てみます。
各テーブルの詳細画面を開くと、下図のように表示されます。
Overview
まず、Overview
欄にはそのテーブルに関する様々なメタデータが記載されています。いつデータが更新したか、どのくらい使われているか、紐づくタグ・ドキュメント、レコード数、カラム数、などが掲載されていますね。
またDescription
では、SnowflakeのDDL文のCOMMENT
で定義したもの、dbt Modelのdescription
で定義したもの、Metaphor上でユーザーが定義したもの、それぞれで切り換えることが出来るようです。
Technical details
Lineage
Lineage
では対象のテーブルに紐づくリネージを表示できるようになっています。デフォルトでは対象のテーブルの1つ上と1つ下の階層のAssetが表示されるようです。
※カラムレベルのリネージは現時点ではなさそうでした、ここは今後のアップデートに期待です!!
マウスカーソルを当てると、対象のAssetの概要もわかるようになっており、そのAssetへのリンクも出来ます。
また、「+」を押すことで更に上流・下流のAssetを表示することも可能です。
Columns
Columns
を押すと、下図のように対象のテーブルに入っているカラムの一覧が表示されます。
各カラム名、型、DESCRIPTION(SnowflakeのCOMMENT、dbtのdescription、Metaphor上での定義)などがわかるようになっていますね。
また、SQL View
を押すと、対象のテーブルのDDL文を見ることが出来ます。
Profile
Profile
を押すと、各カラムが持つ値に関するメタデータが表示されます。
NULLでない値のカウント、NULLの値のカウント、DISTINCTした際のカウント、などがわかるようになっています。
Knowledge
次に、画面右側のKnowledge
です。これがMetaphorの特徴的な機能と言っても良いと思います。
Knowledgeは、各Assetに紐づけて、そのAssetに対する知見を溜め込んでいける機能です。作成した一つ一つのKnowledgeをKnowledge Cardと呼びます。
Knowledge Cardでは、各Assetへのリンクや、箇条書きでの表記、画像を埋め込む、といったことも可能です。
各Knowledge Cardに何か修正をお願いしたい場合には、Request Validation
を押すことで、リクエストを送る事もできます。
Knowledge Cardを自分で作成する
今度は、Knowledge Cardを自分で作成してみます。(デモサイトでも、Knowledge Cardを作る権限だけはありましたw)
Knowledgeの画面の右上のCreate Knowledge Card
を押すことで、Knowledge Cardの作成画面が出てきます。
まず、Select Card Type
ですが、3種類から選べるようです。
あとは、Card Title
とCard Description
を定義し、Create Card
を押せばOKです。Card Description
ではMarkdown表記を使うことが出来ました!
(私は試しに作ってみましたが、消すことが出来なかったのでご注意くださいw)
SlackからKnowledgeを起票する
今回はデモサイトなので出来ないのですが、SlackからKnowledge Cardを作成することも機能としては備わっているようです。
イメージとしては以下の動画をご覧ください。(4:51~4:56あたり)
Document Center
Document Centerは、簡単に言うとMetaphor内部でのWikiです。 階層構造を持ち、自由にデータ資産に関連するドキュメントを残すことが出来ます。
デモサイトなのですでに作成済のドキュメントを見ることしか出来ないですが、どんな流れで見ることが出来るか確かめてみます。
画面左の「Document Center」を押すと、保存されているドキュメントの一覧が出てきます。
試しに、「Revenue Analyst Onboarding Guide」というドキュメントを見てみます。
他のドキュメントやAssetへのリンクを貼ることも出来ますし、GOVERNED TAGS
を付与することも出来るようです。
デモサイトで出来なかったこと
以下、私が認識している範囲内で出来なかったことを記しておきます。機会が作れたら、検証環境を頂いて試してみたいですね。
- 各Assetを自分で追加して同期の頻度や画面反映時の精度を確かめること
- タグの新規作成及び付与(
GOVERNED TAGS
、Hashtags
ともに) - ドキュメントの新規作成
- Slackからの連携機能(Knowledge Cardの起票、SlackからのAssetの検索、など)
最後に
LinkedInでDataHubを開発したエンジニアが創業したデータカタログ「Metaphor」を試してみました。
デモサイトなので出来ることは限られてはいたのですが、ソーステーブル➟dbtのModel➟BIツールのダッシュボードへのリネージ、各Assetに対してKnowledge Cardで知見を溜められる、といった機能を実際に触ることが出来たのは面白かったです!
あとはやはりと言うべきか、DataHubと似ている所が多いなーと感じました! DataHubもデモサイトがありますので、興味のある方はこちらから触って頂けると良いと思います!(私もDataHubはこのデモサイトを触ったことがあるだけですw)